Data storage devices are well known and include, for example, optical and magnetic disk drives, and magnetic tape drives. Data is typically organized as a plurality of tracks formed on a moving storage medium such as a disk or tape. In disk drives, these tracks may be spiral or have a concentric arrangement. In magnetic tape drives, the tracks are parallel and run in a longitudinal direction of the magnetic tape. Data is written to and read from the data tracks with a transducer supported in close proximity to the tracks by a transducer assembly. The transducer assembly is positionable relative to the tracks under the control of a servo system, and the transducers are electrically coupled to a data channel, which in turn is coupled to a host through an interface. The data channel receives and processes information from the host for writing to the medium. It also receives information sensed from the data storage surface by the transducer assembly and processes it for transfer to the host. The functions of the data storage device, such as servo control, movement of the data storage medium, and data access are controlled by a microcontroller.
An ongoing challenge in disk drive design is to increase the data capacity of the storage medium. This requires reductions in track-to-track spacing as well as tighter bit densities within each track. Smaller track spacings create the need for more accurate servo systems for locating a desired track and data sector. In conventional storage devices, servo systems rely upon servo information written on the data storage surface to accurately position the head relative to a data track. This information typically comprises servo regions or sectors transverse to and interspersed between data tracks including three types of information: a sector identifier or SID, binary position information, and an analog position error sensing (PES) burst pattern. It may also include an index.
The SID is a unique pattern composed, e.g., of bits or dibits, and indicates the start of the servo sector. It is preceded by a repeating automatic gain control (AGC) field, and together these fields synchronize and adjust the gain of the read/write channel to the upcoming servo information. The SID is typically extracted from the transducer signal using a pattern detector coupled to the microcontroller.
The binary position information is used for coarse radial positioning of the transducer during seek operations. It may include a cylinder number used for radial positioning, a head number for uniquely identifying each data storage surface, and a sector number used for verifying the circumferential position of the head. Some or all of this data may be encoded. For example, the cylinder number is encoded using a gray code pattern which varies by only one bit from track to track. The information may also be split among several adjacent servo sectors on the same track to reduce the servo field real estate requirement. For example, in a currently used implementation, the track identifiers comprise highest, middle, and lowest order bits. Each servo sector contains the lowest order bits. In addition, every odd sector contains the middle order bits, and every even sector contains the highest order bits. In a similar manner, bits representing the head and sector numbers may be distributed over several sectors so that one bit of the head number and one or more bits of the sector number are written to each of n adjacent servo sectors. Since the head and sector numbers do not change in a radial direction and are small, they may be written to the disk without encoding.
The binary servo information is extracted from the analog transducer read signal with digital demodulation circuitry, and decode logic if necessary. The demodulation circuitry typically comprises a peak detection circuit or a partial-response maximum likelihood (PRML) channel.
The PES field comprises a plurality of radially repeating burst patterns arranged in a predetermined fashion relative to the data tracks. Each burst includes a plurality of radially oriented transitions of a predetermined frequency which contribute to the sensed transducer signal. When the transducer signal is demodulated, a PES signal is produced whose magnitude varies proportionally with transducer displacement from the track center. The PES is generally produced using a peak-hold or area integration circuit. A peak-hold circuit requires at least a minimum number of transitions in each burst field to obtain an accurate measure of the signal amplitude. An area integration circuit operates best if a same number of transitions are provided within each burst field.
The accuracy of a servo positioning system increases with the frequency of servo information provided. However, each servo sector provided reduces the amount of storage space available for user data. It is therefore desirable to reduce the circumferential real estate occupied by each servo sector. One approach for doing this is to combine the binary servo information with the burst patterns in a single field. The data must be represented in a manner which does not adversely affect generation of the PES signal, i.e., which provides a minimum number of transitions in the burst field for peak-hold detection and a relatively constant number of transitions per burst for integration detection.
A IBM Technical Disclosure Bulletin Vol. 33, No. 3B, Published August 1990 entitled "Quad Burst Servo Needing No Sync ID and Having Added Information" discloses a method for encoding information into the PES field which modulates the positions of the burst transitions. The approach assures that the fundamental frequency of the burst patterns is not changed by maintaining the same zero-crossing points. Ones and zeroes are distinguished by changing the width or sine component about the zero-crossing point, a 120 degree width representing a one and a 60 degree width representing a zero. This approach requires use of low frequency flux transitions in the servo bursts, which consumes more real-estate than a high frequency pattern. Moreover, customer data in modern disk drives is written at high frequencies and is passed through some components in the data channel used in servo data detection (e.g., filters). It is therefore desirable to reduce the disparity between the data and servo frequencies, rendering this approach impractical.
U.S. Pat. No. 4,195,320 to Andresen discloses a method for encoding decimal track addresses into fixed length A and B servo burst regions. Andersen uses an integration circuit to demodulate the PES bursts, and is therefore concerned with maintaining a same number of "1's" and "0's" in each burst field. The decimal digits of the track address are represented as time between flags. That is, each digit is represented by a number of data clock transitions ("0101 . . . ") equal in number to the digit, and is separated from other encoded digits by one of two complementary delimiting fields ("01100" and "10011") selected to preserve an even number of "1's" and "0's" within the burst field. For example, a decimal address of 145 is represented by a single clock transition "1" representing decimal digit "1", delimiting field "01100", four clock transitions "1010" representing the decimal digit "4", delimiting field "10011", five clock transitions representing the decimal digit "5", and delimiting field "10011". A variable "energy balance" field is provided after the encoded data to maintain a fixed burst size and to also assure an equal number of "1's" and "0's" within the burst field. The entire encoded sequence is further delimited by unique, complementary start and end flags ("11000" and "00111"). It should be readily apparent that the encoding scheme of Andresen lacks efficient use of space, and this problem is compounded by the need for delimiting fields.
A more efficient method for encoding n-bit cylinder address codes in the servo bursts is disclosed in Japanese Patent Application JA4-302864 to Yatake et al. Each of the n bits of the cylinder address is represented by three time slots: a "0" is represented by "110" and a "1" by "101". The first time slot always contains a positive going pulse which provides a regular data clock, and which is used by peak-hold detection circuitry to produce the PES signal from the burst. Although more space-efficient than Andresen, this phase-modulation approach still includes substantial overhead, requiring three transitions to represent one bit of digital servo data.
What is needed, therefore, is a highly efficient scheme for representing digital servo data within the servo burst fields without adversely affecting generation of the PES signal.